地图截屏功能 Sample详情

最后更新时间:2019年7月5日

类似移动设备中的截屏功能,MapView提供只对地图视图截屏的功能,然后可以将生成的图片对象保存得到截取的地图图片。

1 全图截屏

获取地图视图完整范围的地图截图。

[_mapView getScreenSnapshot:^(UIImage *image) {
    //在此回调方法中可以获取到UIImage对象,用户可自行保存为本地图片文件
}];

2 范围截屏

获取指定视图区域内的地图截图。

//获取当前地图视图指定区域的快照(截图),视图区域的指定采用视图坐标系,通过左上角点的坐标和区域的宽高来确定,视图左上角坐标为(0, 0)
[_mapView getScreenSnapshotWithLeft:0 top:0 width:500 height:800 callback:^(int left, int top, int width, int height, UIImage *image) {
    //在此回调中可以获取到调用截屏代码时传入的视图范围,以及截取的UIImage对象
}];

说明:方法中前两个参数表示在视图区域中需截取的范围的左上角的x、y坐标,采用视图坐标;第三、四个参数表示指定视图区域的宽、高。

3 地图出图

指定的地图范围获取地图图片,与地图是否显示在当前视图范围内无关。

//根据指定的地图范围生成图片(地图范围、图片宽、图片高)
UIImage *image = [_mapView getImageWithDispRange:[_mapView.map range] imageWidth:750 imageHeight:1206];

截屏功能展示效果如下:

全图截屏.jpg 范围截屏.jpg 范围出图.jpg